[新機能]Microsoft Excelからdbt Semantic Layerに接続するためのアドオンがリリースされました
さがらです。
2024年6月に、Microsoft Excelからdbt Semantic Layerに接続するためのアドオンがリリースされました。現在はプレビュー版として利用可能です。
このアドオンを実際に試してみたので、本記事で内容をまとめてみます。
事前準備
下記のリポジトリをforkしてdbt projectを事前にdbt Cloud上で定義し、Production Environmentを定義して、dbt seed
とdbt build
を含むジョブを実行しておきます。
dbt Cloud上でのSemantic Layerの設定
まずdbt Cloud上の対象のdbt projectにおいて、Semantic Layerを有効化しておく必要があります。
Account settings
のProjects
から対象のdbt projectを選択し、Configure Semantic Layer
を押します。
続いて、このdbt projectで使用しているDWHへの認証情報を入力します。
最低でも、semantic_models
とmetrics
が参照しているdbt Modelを含むスキーマ・テーブルへの読み取り権限が必要となります。
必要な情報を入力したら、右下のSave
を押します。
すると、Environment ID
やHost
などの情報が表示されます。
この上でExcelから接続するにはService Token
が必要となりますので、Generate Service Token
を押します。
任意のToken Name
を入れて、デフォルトのSemantic Layer Only
とMetadata Only
が付与された状態で、右下のSave
を押します。
すると、Service Tokenが表示されます!この画面を離れると表示できなくなるので、忘れずにコピーしておきましょう。
Microsoft Excelからdbt Semantic Layerに接続
続いて、Microsoft Excelからdbt Semantic Layerに接続するための準備を行っていきます。
まず、下記のいずれかURLを開きます。Excel DesktopとExcel Onlineどちらでも対応可能です。(今回はExcel Desktopで勧めていきます)
- Excel Desktop
- Excel Online
Open in Excel
を押します。
Excelが立ち上がるため、画面右側のアドインの画面で承諾して続行
を押します。
インストールが完了したため、事前に確認したHost
、Environmet ID
、Service Token
を入力してGET ACCESS
を押します。
下図の画面になれば、Excelからdbt Semantic Layerへの接続は完了です!
実際にMetricsを取得してみた
では実際にMetricsを取得してみます。
Select Metrics
から、取得したMetricsを選択します。
Group By
から、どのDimensionで粒度を分けるかを選択します。
他の項目については、下記の設定が可能です。
Time Range
:出力する値の日付範囲を指定Where(FIlter)
:集計対象のレコードから、指定した条件に合致するレコードのみを集計対象とするOrder By
;指定したカラムで集計結果を並べ替えるLimit
;集計結果に対して、先頭から指定した行数だけ表示するExclude column names
:チェックをいれると、カラム名を出力しなくなる
各種設定を終えたら、QUERY
を押します。すると、設定した内容に応じてMetricsの集計結果が表示されました!
注意事項
まだプレビューということもあると思いますが、2024年7月19日時点では日本語のlabelを定義したMetricsの取得ができず、下図のようにエラーメッセージが表示されました。(dbt Cloudのサポートにも問い合わせ済みです。)
※2024年8月1日追記
日本語のlabelを定義したMetricsやDimentionでも、無事に表示されるようになりました!
最後に
Microsoft Excelからdbt Semantic Layerに接続するためのアドオンがリリースされたので、実際に試してみました。
元々Excelで業務を進めていた方にとって、既存のプロセスを変えずにデータはdbt Semantic Layerを介して取得するということが出来るようになります!ぜひお試しください。